package so.sao.shop.supplier.service.authorized;

import org.springframework.transaction.annotation.Transactional;

import so.sao.shop.supplier.domain.authorized.ChildrenAccount;
import so.sao.shop.supplier.pojo.Result;
import so.sao.shop.supplier.pojo.input.auth.AdminUserStatusInput;
import so.sao.shop.supplier.pojo.input.auth.ChildrenAccountInput;
import so.sao.shop.supplier.pojo.vo.authorized.ChildrenAccountVo;

/**
 * <p>Version: supplier V1.1.0 </p>
 * <p>Title: ChildrenAccountService</p>
 * <p>Description: </p>
 *
 * @author: taowang
 * @Date: Created in 2017/11/2 16:56
 */
public interface ChildrenAccountService {

    /**
     * 更新用户信息
     * @param childrenAccountvo
     * @return
     */
    Result<?> updateChildrenAccount(ChildrenAccountVo childrenAccountvo);

    /**
     * 根据用户id修改用户状态
     * @param userStatusInput
     * @return
     */
    Result<?> updateUserStatus(AdminUserStatusInput userStatusInput);
    /**
     * 添加管理员子账号
     * @param childrenAccountVo
     * @return
     */
    public Result<?> save(ChildrenAccountVo childrenAccountVo);
    /**
     * 管理员子账号列表
     * @param childrenAccountInput
     * @return
     */
    public Result<?> list(ChildrenAccountInput childrenAccountInput);
    

    /**
     * 查询子账号信息
     * @param updateUserId 需要更新用户的id
     * @return
     */
    public Result<?> selectChildrenAccountDetails(Long updateUserId);
    /**
     * 修改子账户密码
     * @param childrenAccountVo
     * @return
     */
    public Result<?> updatePassword(ChildrenAccountVo childrenAccountVo);
}
